Currently the development of computer-aided medical applications is not a standardized process. As a rule it consists of the analysis of the functionality needed by the user, the development of a corresponding technical concept and also implementation of the developed concept by executing a program.
Medical applications are characterized by a complex administration of a large number of internal states. The internal states generally reflect the information about user actions allowed, forbidden and executed in the UI (User Interface) of the application at a particular point. In addition the administration of the internal states of the application should take into account that the user can have a number of actions running in parallel and that the actions running in parallel can influence one another. The complex administration of the internal states of the application makes it difficult to expand it by additional components. These components should on the one hand be autonomous, generic and reusable. On the other hand the additional components are to participate in the states of the expanded application in order to meaningfully make use of its functionality within the application.
Consequently such applications result in problems such as for example restricted applicability or expandability or increased runtime, which is frequently only noticed at a late phase of development. Rectifying the problems demands considerable time and is also not cost-effective.